#pragma once

#include "SenetPlayer.h"
#include "Star1p.h"

class Star1pPlayer : public SenetPlayerExt
{

public:
	/************************************************************************/
	/* Constructor                                                           */
	/************************************************************************/
	Star1pPlayer(
		Definitions::PlayerColor playerColor,
		const GameTimer::TimeParams &tp,
		int moves_limit);

	/************************************************************************/
	/* Destructor                                                           */
	/************************************************************************/
	~Star1pPlayer();

	// Evaluates the current board and select a move
	// places the selected move in myMove
	void makeMove(const Board& curBoard, Move &myMove);



	void initGame(int num_squares, int num_pieces, 
		int num_sticks, const SenetBoard &initial_board);

	// Sets m_myName to s
	void setName(const string &s);


	// TODO: Remove this
	void overrideSticksDepth(int sticksResult, int depth, bool status)
	{
		m_sticksResult = sticksResult;
		m_depth = depth;
		m_overrideStatus = status;
	}
	int m_sticksResult;
	int m_depth;
	int m_overrideStatus;


	Star1p m_algorithm;			//the expectimax algorithm
private:
//	Star25p m_algorithm;			//the expectimax algorithm
	GameTimer m_timer;				//timer 

};